<?php
declare( strict_types=1);
//1、普通用法
//$val =3;
//echo  match($val){
//    '1'=>'匹配1',
//    1=>'匹配整数1',
//    1,2,3=>'数字1-3',
//    '1','2','3'=>'字符1-3',
//    default=>'无匹配'
//};


//2、高级用法
//只会按顺序优先第一个匹配。后面符合的将不再匹配
//$val ='3' ;
//echo match(true){
//    $val>10 => '虽然match是严格比较，但比较运算会隐式类型转换',   //直接比较
//    sum(2) > 3=>'ok',			//调用函数比较
//    Default =>'其他'
//};
//function sum(int $n):int
//{
//    return  $n= $n+$n;
//}


//3、其他匹配
$val = true;
echo match($val){
    'hello world'=> '你好',          	//匹配字符串，区分大小写
    ['1',2,3]=>'匹配数组',            	//匹配下标数组，键值顺序完全一致匹配；
    ['a'=>12,'b'=>3] => '匹配',       	//匹配关联数组，键值顺序完全一致匹配 如['b'=>3,'a'=>12]不会匹配
	true === $val => var_dump('111'),     	//这里用参数$val和$val==true的结果true去比较，者不一样，不会匹配。
    default=>'bupipei'
};